package com.yuyh.library.RefreshAndLoad;
import com.yuyh.library.AppUtils;

/**
 * dp、sp 转换为 px 的工具类 
 *  
 * @author wgd  
 * 
 */  
public class DisplayUtil {
    /** 
     * 将px值转换为dip或dp值，保证尺寸大小不变 
     *  
     * @param pxValue 
     * @param pxValue
     *            （DisplayMetrics类中属性density） 
     * @return 
     */  
    public static int px2dip( float pxValue) {
        if (null== AppUtils.getAppContext())return 0 ;
        final float scale = AppUtils.getAppContext().getResources().getDisplayMetrics().density;
        return (int) (pxValue / scale + 0.5f);  
    }  
  
    /** 
     * 将dip或dp值转换为px值，保证尺寸大小不变 
     *  
     * @param dipValue 
     * @param dipValue
     *            （DisplayMetrics类中属性density） 
     * @return 
     */  
    public static int dip2px( float dipValue) {
        if (null==AppUtils.getAppContext())return 0 ;
        final float scale = AppUtils.getAppContext().getResources().getDisplayMetrics().density;
        return (int) (dipValue * scale + 0.5f);  
    }  
  
    /** 
     * 将px值转换为sp值，保证文字大小不变 
     *  
     * @param pxValue 
     * @param pxValue
     *            （DisplayMetrics类中属性scaledDensity） 
     * @return 
     */  
    public static int px2sp( float pxValue) {
        if (null==AppUtils.getAppContext())return 0 ;
        final float fontScale = AppUtils.getAppContext().getResources().getDisplayMetrics().scaledDensity;
        return (int) (pxValue / fontScale + 0.5f);  
    }  
  
    /** 
     * 将sp值转换为px值，保证文字大小不变 
     *  
     * @param spValue 
     * @param spValue
     *            （DisplayMetrics类中属性scaledDensity） 
     * @return 
     */  
    public static int sp2px( float spValue) {
        if (null==AppUtils.getAppContext())return 0 ;
        final float fontScale = AppUtils.getAppContext().getResources().getDisplayMetrics().scaledDensity;
        return (int) (spValue * fontScale + 0.5f);  
    }  
}  
